package com.study.java._02anno_reflec.type;

import java.lang.reflect.Field;
import java.lang.reflect.GenericArrayType;
import java.util.List;

/**
 * <pre>
 *     author : slx
 *     time   : 2020/11/24
 *     desc   : 泛型数组,组成数组的元素中有范型则实现了该接口
 * </pre>
 */
public class TestGenericArrayType {

    // 数组的元素为List，有泛型String
    List<String>[] listArray;

    public static void main(String[] args) {
        try {
            Field listArray = TestGenericArrayType.class.getDeclaredField("listArray");
            GenericArrayType genericType = (GenericArrayType) listArray.getGenericType();
            // getGenericComponentType返回数组组成对象
            // java.util.List<java.lang.String>
            System.out.println(genericType.getGenericComponentType());
        } catch (NoSuchFieldException e) {
            e.printStackTrace();
        }
    }
}
